C语言答疑?

如题所述

第1个回答  2020-12-01
//代码如下
#include <stdio.h>
#define N 5
#define MAX_LEN 256

//冒泡排序(将序)
void bubbleSort(char (*pt)[MAX_LEN],int n) //形参pt为指向二维字符数组的指针
{
int i,j; //i表示趟数,j表示第i趟两两比较的次数
char tmp[MAX_LEN]; //临时字符数组
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(strcmp(pt[j],pt[j+1]) < 0) //字符串进行两两大小比较,如果<0,则执行if语句体
{ //两个字符串进行交换操作
strcpy(tmp,pt[j]);
strcpy(pt[j],pt[j+1]);
strcpy(pt[j+1],tmp);
}
}

int main()
{
char city[N][MAX_LEN];
int i=0;

printf("请输入%d个城市名:\n", N);
for(i=0; i<N; i++)
scanf("%s", city[i]);
bubbleSort(city, N);
printf("降序输出城市名:\n");
for(i=0;i<N;i++)
printf("%s\n", city[i]);
return 0;
}
//示例运行结果
F:\c_work>a.exe
请输入5个城市名:
Beijing Shanghai Shenzhen Guangzhou Wuhan
降序输出城市名:
Wuhan
Shenzhen
Shanghai
Guangzhou
Beijing
第2个回答  2022-06-29
C语言答疑 输入一个只包含0和1的二进制数(不确定多少位,但至多5位),打印出相应的十进制数。要一个完整的程序 #include <iostream>using namespace std;int main(){ char a[6]; int b[6]; int i=0; int x=1; int sum=0; cout<< 输入2进制数 <<endl; cin>>a; while(*(a+i)!='\0') { b[i]=(int)a[i]-48; i++; } i--; while(i>=0) { sum+=b[i]*x; x=x*2; i--; } cout<<sum<<endl; }
第3个回答  2022-06-28
#include <iostream>
using namespace std;

int main()
{
char a[6];
int b[6];
int i=0;
int x=1;
int sum=0;
cout<<"输入2进制数"<<endl;
cin>>a;

while(*(a+i)!='\0')
{

b[i]=(int)a[i]-48;
i++;

}
i--;
while(i>=0)
{
sum+=b[i]*x;
x=x*2;
i--;

}
cout<<sum<<endl;
}
第4个回答  2022-06-28
#include <iostream>
using namespace std;

int main()
{
char a[6];
int b[6];
int i=0;
int x=1;
int sum=0;
cout<<"输入2进制数"<<endl;
cin>>a;

while(*(a+i)!='\0')
{

b[i]=(int)a[i]-48;
i++;

}
i--;
while(i>=0)
{
sum+=b[i]*x;
x=x*2;
i--;

}
cout<<sum<<endl;
}
第5个回答  2022-06-29
#include <iostream>
using namespace std;

int main()
{
char a[6];
int b[6];
int i=0;
int x=1;
int sum=0;
cout<<"输入2进制数"<<endl;
cin>>a;

while(*(a+i)!='\0')
{

b[i]=(int)a[i]-48;
i++;

}
i--;
while(i>=0)
{
sum+=b[i]*x;
x=x*2;
i--;

}
cout<<sum<<endl;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网