1、字符串复制
题目描述
设计函数实现字符串复制功能,每个字符串长度不超过100,不要使用系统提供的strcpy函数
输入要求
从键盘读入一个字符串到数组b中,以换行符结束
输出要求
将内容复制到另一个数组a中,并分别输出数组a和数组b中的内容
输入样例
Frank comes from Thailand
输出样例
String a is:Frank comes from Thailand.
String b is:Frank comes from Thailand.
代码示例:
#include <stdio.h>
char mystrcpy(char a[101],char b[101])
{int i;for(i=0;b[i]!='\0';i++){a[i]=b[i];}a[i]='\0'; //以\0结尾,很重要
}
int main()
{ char a[101],b[101],*p1,*p2;int i;gets(b);//调用复制函数 mystrcpy(a,b); printf("String a is:%s\n",a); printf("String b is:%s\n",b);return 0;
}
2、比较串的大小
题目描述
设计函数,比较两个字符串的大小,每个字符串长度不超过50,不要使用系统提供的库函数
输入要求
从键盘分别读入两个字符串,每个字符串以换行符结束
输出要求
比较两个字符串的大小,输出相应的结果。
输入样例
Hello
hi
输出样例
Hello<hi
代码示例:
#include<stdio.h>
char mystrcmp(char *s1,char *s2)
{int i,c;for(i=0;s1[i]||s2[i];i++){if(s1[i]!=s2[i]){c=s1[i]-s2[i];break;}}if(s1[i]=='\0'&&s2[i]=='\0'){c=0;}return c;
}
int main()
{char s1[51],s2[51];int k;gets(s1);gets(s2);k=mystrcmp(s1,s2); if(k>0) printf("%s > %s\n",s1,s2);else if(k==0) printf("%s = %s\n",s1,s2);else printf("%s < %s\n",s1,s2);return 0;
}
3、正数的平均值
题目描述
输入10个实数,计算并输出所有大于0的数的平均值
输入要求
输入10个实数
输出要求
计算大于0的数的平均值
输入样例
-5 2 -6 9 -4 -2 0 6 1 10
输出样例
5.60
代码示例:
#include<stdio.h>
#define N 10
double ave(double a[],int n)
{int i,count=0;double sum=0;for(i=0;i<n;i++){if(a[i]>0){sum+=a[i];count++;}}return sum/count;
}
int main()
{double a[N],res;int i;for(i=0;i<N;i++){scanf("%lf",&a[i]);}res=ave(a,N); //调用函数求大于0的数的平均值printf("%.2f\n",res);return 0;
}
4、数组中对应元素相减
题目描述
设计函数,实现两个一维数组的对应元素相减
输入要求
在主函数中各输入10个整数到数组a和数组b中
输出要求
设计函数计算并输出a-b的结果
输入样例
28 65 78 4 3 2 1 21 -9 -19
3 4 56 -81 8 1 0 10 8 -21
输出样例
25 61 22 85 -5 1 1 11 -17 2
代码示例:
#include<stdio.h>
int sub(int a[],int b[],int n)
{int i;for(i=0;i<n;i++){printf("%d ",a[i]-b[i]);}
}
int main()
{int a[10],b[10],i;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)scanf("%d",&b[i]);sub(a,b,10); //调用函数printf("\n");return 0;
}
5、无序数组的查找
题目描述
已知一维数组中的10个元素各不相同,查找数组中是否存在值位key的数组元素。如果有,输出相应的下标,否则输出not found。已知数组无序排列
输入要求
先从键盘输入10个整数。然后再输入一个待查找的数据key
输出要求
若存在,则输出该数所在位置的下标,若不存在,则输出not found
输入样例
6 70 -9 80 83 54 3 88 10 2
80
输出样例
3
代码示例:
#include<stdio.h>
int main()
{int a[10],key,k=0,set=0;int i;for(i=0;i<10;i++){scanf("%d",&a[i]);}scanf("%d",&key);for(i=0;i<10;i++){if(a[i]==key){k=i;set=1;}}if(set)printf("%d\n",k);elseprintf("not found\n");return 0;
}