【C语言学习】课后作业记录
介绍
- 本文是作者学习C语言的记录,初学上路,误撞勿怪。
- 本文所有代码均已成功运行,如有错误,可能是编辑本文时误操作所致。
- 本文所有代码仅为完成任务,漏洞颇多,输入数据时请规范输入。
- 代码编译环境:Dev-C++,版本 5.11。
1 将字符串a中所有的字符 d 删除
方法1:
代码如下:
#include <stdio.h>
int main()
{ char s[80] ;
int i,j;
gets(s);
for(i=j=0;s[i]!='\0'; i++)
if (s[i]!='d') s[j++]=s[i] ;
s[j]='\0';
puts(s) ;
return 0;
}
方法2:
代码如下:
#include <stdio.h>
int main()
{ char s[80] ;
int i,j;
gets(s);
for(i=j=0;s[i]!='\0'; i++)
{
while(s[j=i]=='d')
{
while(s[j]!='\0')
{
s[j]=s[j+1];
j++;
}
}
}
puts(s) ;
return 0;
}
运行结果:
2 从键盘输入:apple、computer、music、game,想找出最大字符串。
代码如下:
#include <stdio.h>
#include <string.h>
int main()
{ char str[10],temp[10]={""};
int i;
for (i=0;i<4;i++)
{ gets(str);
if(strcmp(str,temp)>0)strcpy(temp,str);
}
puts(temp);
return 0;
}
运行结果:
3 编程实现:从屏幕上输入三个单词存入到字符数组中,按单词的字母顺序排序存放并输出。
代码如下:
#include <stdio.h>//2.2.3
#include <string.h>
int main()
{
int j,b,c;
char i[10],a[3][10]={};
for(j=0;j<3;j++)
scanf("%s",a[j]);
for(b=0;b<3;b++)
{
for(c=b+1;c<3;c++)
{
if(strcmp(a[b],a[c])>0)
{
strcpy(i,a[b]);
strcpy(a[b],a[c]);
strcpy(a[c],i);
}
}
}
for(j=0;j<3;j++)
printf("%s ",a[j]);
return 0;
}
运行结果:
4 编写一个程序可以将一个字符串逆转,如将a [ ] ="apple"变为a [ ] =“elppa”。
代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
int i,j,len;
char word[10],trans;
gets(word);
len=strlen(word);
for(i=1;i<=len;i++)
for(j=0;j<len-i;j++)
{
trans=word[j];
word[j]=word[j+1];
word[j+1]=trans;
}
puts(word);
return 0;
}
运行结果:
5 编程实现:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
int i,j=0;
char word[30];
gets(word);
for(i=0;i<30;i++)
{
if(word[i]==' '&&(word[i-1]!=' '&&word[i+1]!=' '))
j++;
}
if(j==0)
{
if(word[0]!=0)
printf("一共有1个单词\n");
else
printf("没有单词\n");
}
else printf("一共有%d个单词\n",j+1);
return 0;
}
运行结果:
6 编程求一个二维数组a[4][5]最外围四周元素的和。
代码如下:
#include <stdio.h>
int main()
{
int i,j,sheet[4][5]={},sum=0;
for(i=0;i<4;i++)
{
printf("请输入第%d行的5个数字:",i+1);
for(j=0;j<5;j++)
{
scanf("%d",&sheet[i][j]);
}
}
for(i=0;i<4;i++)
for(j=0;j<5;j++)
{
if((i==0||i==3)||(j==0||j==4))
{
sum+=sheet[i][j];
printf("sheet[%d][%d]=%d,",i+1,j+1,sheet[i][j]);
printf("sum=%d\n",sum);
}
}
printf("\n四周元素总和是:%d\n",sum);
return 0;
}
运行结果:
作者留言
由于时间仓促,本文没有代码注释和代码解说,后面会视情况补充。