C语言Word格式文档下载.docx
- 文档编号:20357520
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:74
- 大小:31.09KB
C语言Word格式文档下载.docx
《C语言Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言Word格式文档下载.docx(74页珍藏版)》请在冰豆网上搜索。
,n);
解题思路:
第一处:
t是通过取模的方式来得到*n的个位数字,所以应填:
10。
第二处:
判断是否是奇数,所以应填:
0。
第三处:
最后通形参n来返回新数x,所以应填:
x。
2
输入一个正整数,把各位上为奇数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数。
例如若输入一个正整数27638496,得到结果为26846。
if(t%2==0)
}
3
输入由数字字符组成的字符串,将其转换成为一个整数。
例如若输入字符串"
3425"
,得到结果为整数值3425。
string.h>
longfun(char*p)
{
intlen,t;
longx=0;
len=strlen(p);
if(p[0]=='
-'
)
{t=-1;
len--;
p++;
elset=1;
while(*p)x=x*10-48+(*p++);
returnx*t;
{chars[6];
longn;
Enterastring:
\n"
);
gets(s);
n=fun(s);
%d\n"
4
输入一个正整数,将其转换成字符串。
例如若输入整数值3425,转换后得到字符串"
。
voidfunc(intnumber)
intdigit,power,i=0;
charstr[20];
if(0>
number)
{printf("
输入的数字串有误,要输入一个正整数\n"
else{
power=1;
while(100000<
number/power);
{power*=10;
printf("
运算字符串为:
while(power>
=1)
{
digit=number/power;
str[i]=digit+48;
number%=power;
power/=10;
i++;
str[i]='
\0'
;
%s\n"
str);
voidmain()
{intnumber;
输入一个正整数:
scanf("
%d"
number);
func(number);
5
输入一个字符串,依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。
as3r3fd6gf25"
,得到结果为字符串"
33625"
voidfun(char*s)
{inti,j;
for(i=0,j=0;
s[i]!
='
i++)
if(s[i]>
0'
&
&
s[i]<
9'
s[j++]=s[i];
s[j]='
{charitem[80];
\nEnterastring:
gets(item);
\nThestringis:
item);
fun(item);
\nThestringofchangingis:
%s\n"
item);
6
输入一行英文表达语句,统计其中单词的个数。
规定所有单词由小写字母组成,单词之间由若干个空格隔开。
itisabook"
,得到结果为4。
intfun(chara[])
{inti,num=0,word=0;
charc;
for(i=0;
(c=a[i])!
i++)
if(c=='
'
)word=0;
elseif(word==0)
{word=1;
num++;
returnnum;
main()
{chars[100];
input:
"
fun(s));
return0;
7
输入若干(不超过100个)学生成绩,规定如果输入的数据为0则表示输入结束,输出其中不及格的成绩和不及格人数所占的百分比。
#include<
voidli(int*str)
{inti=1;
floatj=0.0,s;
while(*(str+i)!
=0)
if(*(str+i)>
=0&
*(str+i)<
=60)
{
printf("
第%d个同学不及格,成绩:
%\n"
i,*(str+i));
j++;
s=j/(i-1);
不及格率为:
%.2f%c\n"
100*s,37);
voidmain()
intstr[100];
inti;
for(i=1;
i<
=100;
{printf("
请输入第%d个同学的成绩\n"
i);
str[i]);
if(str[i]==0)break;
}
li(&
8
输入若干(不超过100个)学生成绩,规定如果输入的数据为0则表示输入结束,输出其中成绩最高的前10名学生的成绩。
voidfun(intx[],intn);
inta[100],i,n=0;
输入学生成绩:
for(i=0;
100;
scanf("
a[i]);
if(a[i]==0)break;
n++;
fun(a,n);
成绩最高的10名学生的成绩(以空格隔开):
10;
%d"
a[i]);
putchar('
\n'
voidfun(intx[],intn)
inti,j,k,t;
n-1;
k=i;
for(j=i+1;
j<
n;
j++)
{
if(x[k]<
x[j])
{
t=x[k];
x[k]=x[j];
x[j]=t;
}
}
9
输入若干(不超过100个)学生成绩,规定如果输入的数据为0则表示输入结束,输出其中成绩最低的后10名学生的成绩。
#include<
成绩最低的10名学生的成绩:
if(x[k]>
10
输入若干(不超过50个)有序的正整数,对于相同的数据只保留一个,输出保留的数据。
例如,输入数据是:
2,2,2,3,3,4,5,5,6,6,9,9,9,10,10,10最终的输出结果是:
2,3,4,5,6,9,10
#defineN80
intfun(inta[],intn)
inti,j=1,k=a[0];
for(i=1;
i<
n;
if(k!
=a[i]){
a[j++]=a[i];
k=a[i];
a[j]=0;
returnj;
voidmain()
{inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,m,n=0;
Theoriginaldata:
a[i]!
=0;
i++){printf("
%3d"
n++;
m=fun(a,n);
\n\nThedataafterdeleted:
m;
i++)printf("
\nthenumberis%d\n"
m);
11
输入一个字符串和一个正整数m,移动字符串中的内容,移动的规则如下:
把从左边起第1到第m个字符平移到字符串的右边,把其余的字符统一向左移动。
例如,字符串中原有的内容为:
ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该是:
DEFGHIJKABC。
voidfun1(char*w)/*本函数的功能是将字符串中字符循环左移一个位置*/
inti;
chart;
t=w[0];
strlen(w)-1;
i++)
w[i]=w[i+1];
w[strlen(w)-1]=t;
voidfun(char*w,intm)/*可调用fun1函数左移字符*/
for(i=0;
m;
i++)fun1(w);
{chara[N]="
ABCDEFGHIJK"
intm;
Theoriginalstring:
puts(a);
\n\nEnterm:
m);
fun(a,m);
\nThestringaftermoving:
\n\n"
}
12
把从右边起第1到第m个字符平移到字符串的左边,把其余的字符统一向右移动。
IJKABCDEFGH。
t=w[strlen(w)-1];
for(i=strlen(w)-1;
i>
0;
i--)
w[i]=w[i-1];
w[0]=t;
13
输入10个数,找出其中最大数和次最大数,并把最大数和次最大数放在第一和第二的位置上,其余数据依次向后移动,输出调整后的结果。
voidfunc(int*str)
inti=0,j=0,m,n=0;
for(n=0;
2;
n++)
m=str[n];
for(i=n;
if(m<
str[i])
{m=str[i];
j=i;
for(i=j;
i--)
str[i]=str[i-1];
str[n]=m;
str[i]);
intstr[10],i;
请输入十个整数(以空格隔开):
结果为:
func(str);
14
输入10个数,找出其中最小数和次最小数,并把最小数和次最小数放在第一和第二的位置上,其余数据依次向后移动,输出调整后的结果。
if(m>
15
请使用函数的递归调用编写求阶乘的函数,并计算1!
+2!
+3!
+4!
+5!
intmain()
intfac(intn);
inti,sum=0;
=5;
%d!
=%d\n"
i,fac(i));
sum+=fac(i);
求和结果%d\n"
sum);
return0;
intfac(intn)
{staticintf=1;
f=f*n;
return(f);
16
输入一个4×
4的矩阵,把该矩阵转置后输出。
intfun(intarray[3][3])
{inti,j,t;
for(j=i+1;
3;
{t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
main()
intarray[3][3]={{100,200,300},{400,500,600},{700,800,900}};
viodclrscr();
{for(j=0;
%7d"
array[i][j]);
fun(array);
Convertedarray:
17
输入一个字符串,把其中所有的字母字符转换为按字母序列的后续字母(a转换为b,b转换为c,z转换为a,大写字母规律相同),其它字符不变,输出转换后的结果。
ctype.h>
voidfun(char*s)
while(*s)
{if(*s>
A'
*s<
Z'
||*s>
a'
z'
{if(*s=='
)*s='
elseif(*s=='
else*s+=1;
s++;
{chars[80];
\nEnterastringwithlength<
80.:
\n\n"
gets(s);
\nThestring:
\n\n"
puts(s);
fun(s);
printf("
\n\nTheCords:
18
输入10个数据和一个整数m,把输入的10个数据依次向右移动m次。
例如输入的数据为:
1,2,3,4,5,6,7,8,9,10,m的值为3,则移动后的数据为:
8,9,10,1,2,3,4,5,6,7。
#include<
voidfun(int*w,intp,intn)
inti,j=0,b[N];
for(i=n-p;
i<
10;
i++)b[j++]=w[i];
for(i=0;
n-p;
i++)w[i]=b[i];
{inta[N]={1,2,3,4,5,6,7,8,9,10};
inti,p,n=10;
Theoriginaldata:
i++)printf("
\n\nEnterp:
p);
fun(a,p,n);
\nThedataaftermoving:
19
输入10个数据和一个整数m,把输入的10个数据依次向左移动m次。
4,5,6,7,8,9,10,1,2,3
for(i=p;
=p;
20
输入一个字符串,把其中的空格都删除,例如输入"
asdafaaz67"
则输出为"
asdafaaz67"
intfun(char*str)
char*p=str;
inti=0;
while(*p){
if(*p!
='
)str[i++]=*p;
p++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言