1.输入十个整数,求整数的最大值,和他们的和。
#include <stdio.h>
int main()
{
int i, j, sum = 0, a[10];
printf("请输入10个数:");
for(i=0;i<(sizeof(a)/sizeof(a[0]));i++) //将数存储到数值a中
{
scanf("%d",&a[i]);
}
for(i=0;i<(sizeof(a)/sizeof(a[0])-1);i++) //将数值a中的数据输出
{
for(j=i+1;j<(sizeof(a)/sizeof(a[0]));j++)
{
if(a[j] > a[i])
{
a[i] = a[i] ^ a[j];
a[j] = a[i] ^ a[j];
a[i] = a[i] ^ a[j];
}
}
}
for(i=0;i<(sizeof(a)/sizeof(a[0]));i++)
{
sum += a[i];
}
printf("在该数组内最大值为:%d,第二大数为:%d, sum = %d",a[0],a[1],sum);
2.从终端输入多个字符以'ln'结尾,求出空格个数。
#include <stdio.h>
int main()
{
int count = 0, i;
char str;
while(1)
{
scanf("%c",&str);
if(str == '\n')
break;
if(str == ' ')
count++;
}
printf("空格个数为:%d\n",count);
return 0;
}
3.用自己的代码实现strlen功能,strcpy功能,strcmp
#include <stdio.h>
#include <string.h>
int main()
{
int i,count=0;
printf("请输入一串字符>>>");
char str[128] = "";
scanf("%s",str);
for(i=0;i<strlen(str);i++)
{
if(('a'<=str[i]) && (str[i]<='z'))
{
printf("%c\n",str[i]);
count++;
}
}
printf("一共有%d个小写字母\n",count);
char buf[128] = {'h','e','l','l','o','\0','w','o','r','l','d'};
char buf1[32] = "";
char buf2[32] = "hello";
char buf3[32] = "halloa";
strcpy(buf1 , buf); //看buf1是否将buf中的数据的全部复制过来
for(i=0;i<strlen(buf1);i++)
{
printf("%c\t",buf1[i]);
}
int a = strcmp(buf3 , buf2); //看两个字符串是否相等
printf("%d\n",a);
}