请问这道c语言题怎么写?

请问这道c语言题目怎么写?~

把字符串存成数组
排序
重点在于比较
先按照7-14位比较,为了做到这一点,可以用strncpy把这8个字符复制出来然后用strcmp比较,也可以直接用strncmp进行比较
如果相等,再用strcmp进行比较
排序完输出就好了

最简洁的方式是写一个针对这种方式的比较函数,然后调用一下qsort就好了

#include
void main(){
getChar();
}
void getChar(){
char a, b;

printf("输入两个小写字符");

scanf("%c%c",&a,&b);
putChar(a,b);

}
void putChar(char a, char b){
//printf("%c的ASCII码为%d,%c的ASCII码为%d",a,a,b,b);

a = a - 32;

b = b - 32;

printf("输入的小写字符的大写为:%c,%c",a,b);

//print("%c的ASCII码为%d,%c的ASCII码为%d",a,a,b,b");

}

#include <stdio.h>
#include <string.h>
void sort(int* s, int n)
{
int i = 0, j = 0, index = 0;
int c;
for (; i < n; i++)
{
c = s[i];
index = i;
for (j = i + 1; j < n; j++)
{
if (s[j] < c)
{
index = j;
c = s[j];
}
}
if (index != i)
{
c = s[index];
s[index] = s[i];
s[i] = c;
}
}
}
int duplicate(int* s, int n)
{
int j = 0;
for (int i = 0; i < n - 1;)
{
while (i < n - 1 && s[i] == s[i + 1]) i++;
if(i < n - 1 && s[j] != s[i + 1]) s[++j] = s[++i];
}
if (s[n - 1] != s[j]) s[++j] = s[n - 1];
return j + 1;
}
int main()
{
int n, s[101];
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &s[i]);
sort(s, n);
int m = duplicate(s, n);
printf("%d
", m);
for (int i = 0; i < m; i++)
{
printf("%d ", s[i]);
}
printf("
");
return 0;
}



下面这道C语言题怎么写?
答:C语言代码和运行结果如下:输出符合样例,望采纳~附源码:include<stdio.h> include<string.h> int paths[10001][2]; // 道路连接的两城市下标 int vis[10001]; // 该城市是否攻下 int main() { int N, M, K, Np, i, flag;scanf("%d %d", &N, &M);for (i = 0; i < M; ...

请问一下这道C语言编程题怎么做?
答:按照题目要求编写的用凯撒密码加密的C语言程序如下 include<stdio.h> int main(){ char s[80];int offset,i;fgets(s,80,stdin);scanf("%d",&offset);for(i=0;s[i]!='\0';i++){ if('A'<=s[i] && s[i]<='Z')if(offset>=0)s[i]='A'+(s[i]-'A'+offset)%26;else s...

这道c语言怎么写?
答:根据题意:要验证学号输入,应该有一个学生名单。所以我定义了init函数来初始化一个学生名单,只是测试用数据,你想要手动输入学生名单,请修改该函数。由于实现动态刷新信息,用到getch来暂停刷新,这个函数头文件conio在windows下有效,你要是使用的其他操作系统,可以自定义类似函数来替换,或者直接删除所有...

请问这道题用c语言怎么做?最好做的简单一点啊刚写c语言遇到了麻烦求大...
答:1.实现1直接用输入输出函数就可以完成(由于2 3 4的要求最好还是使用子函数完成)。2 实现2可以用for+子函数(冒泡排序,快速排序等都可以)完成。3 实现3可以用for+子函数(先判断字符串的长度再使用for循环判断)。4 这个没什么好说的了。最后 祝你成功!算了 具体程序也写出来了》include<s...

请问这道C语言题怎么做?
答:int main(){ int a,b;//定义两个整数(范围:0-10^6)//2^20>10^6,int型是4个字节,共32位,够了 int flag;printf("请输入两个整数(范围:0-10^6):\n");scanf_s("%d%d",&a,&b);if (a == b) flag = 1;//两数相等 else flag = 0;//两数不相等 if (flag == 1...

请问这道c语言题怎么写?
答:int main(int argc,char *argv[]){ int y,m,d,sum,i,w[12]={31,28,31,30,31,30,31,31,30,31,30,31};printf("Please enter the birth year-month-day...\n");if(scanf("%d-%d-%d",&y,&m,&d)!=3 || y<1 || m<1 || m>12 || (w[1]=y%4==0 && y%100 |...

C语言初学者请问这道题怎么做?
答:再乘以n就是可以实现的愿望数 C语言参考代码如下:include <stdio.h> int main(){ long long int n; // 注意n的取值范围超过了2^31-1,应取长整型 scanf("%lld", &n);char S[1000000];scanf("%s", S);int cnt[26] = {0}; // 统计26个字母分别出现的次数 int i = 0;while (...

下面这道C语言的题怎么做,谢谢了
答:{int a=2,b=7,c=5; /*定义变量,a,b,c */ switch(a>0) /*执行switch语句 */ { case1:switch(b<0) /* b<0是一个关系表达式,是假的,故其值是0 */ { case 1:printf("@");break; /*这两条语句中没有与0相匹配的项 ,也没有default语句 所以什么也不做*/ ...

C语言 请问这道题怎么做
答:先赋值给*p1,此时*p1就是G,p2--后p2指向D。p2=s;这句的意思是将s=‘A’的值赋给p2指向的内存单元,也就是将'G'擦除,写入'A',所以这轮循环结束后字符串为AGAAGAG,此时p1指向第四个字符A,p2指向倒数第四个字符A 进入下轮的时候判断p1不小于p2,推出循环,最终的字符串是AGAAGAG ...

请大神讲一下这道C语言的题怎么写?
答:h> int main(){ int a=5;float b=1.332;char c='A';printf("a=%4d b=%.3f\n",a,b);//%4d(4的含义是输出整数,不够4位补空格)//%.3f(.3含义输出浮点型,保留3位小数)下同 printf("a+b=%.1f\n",a+b);printf("c='%c' or %d",c,c);return 0;} ...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网