文档库 最新最全的文档下载
当前位置:文档库 › c语言程序设计代码

c语言程序设计代码

1、用户输入一个不超过4位的正整数,求出它是几位数并输出。

main()
{
int a,len ;
printf(“\n Please input a number:”);
scanf(“%d”,&a); (2分)
if(a/1000) len=4 ;
else if(a/100) len=3 ;
else if(a/10) len=2 ;
else len=1 ; (5分)
printf(“\n The length of the nember is %d”,len) ; (1分)

}
------------------

2、利用循环语句将100到500之间9的倍数输出,要求是每行5列
每列8个字符宽。

main()
{
int k ,j=0 ;
printf(“\n”) ;
for(k=100;k<=500;k++) (2分)
{
if(k%9 !=0) continue ;
printf(“%8d”,k) ; j++ ; (5分)
if (j%5= = 0) printf(“\n”) ; (1分)
}
}
-------------------
3、 写1个自定义函数sub。sub的功能是将实参传来的字符串中的5种字符 *#$%& 保留(即删除其他字符),并存于同一字符串中,然后计算5种字符的总个数,再通过 return 语句将总个数返回给主函数。在主函数中输入原始字符串,调用sub()函数进行处理,并输出最终处理后的字符串和5种字符的总个数

int sub(char b[])
{
int j=0,k=0; (2分)
while(b[j])
{ if(b[j]= =’*’|| b[j]= =’#’|| b[j]= =’$’||
b[j]= =’%’|| b[j]= =’&’)
{
b[k]=b[j] ;
k++ ;
}
j++ ;
}
b[k]=’\0’; (6分)
return (k) ; (1分)
}
main()
{
int a[100],len;
printf(“\n Please input a string :”);
gets(a); (1分)
len=sub(a) ; (2分)
printf(“\n The lase string is: \n”);
puts(a) ; (2分)
printf(“\nThe length of the string is: %d”,len);(1分)
}
--------------------


1、 用户输入整数x ,y 值 ,按以下公式计算z 值并输出。

z=


main()
{
int x,y,z;
printf(“\n Please input two integer:”);
scanf(“%d,%d”,&x,&y); (2分)
if(x>0 && y>0)
z=3*x*x-y*y;
elseif(x<0 && y<0)
z=4*x*x*x+y*y*y
else z=0; (5分)
printf(“\n This is result: %d”,z); (1分)
}
--------------------------
2、利用循环语句计算下列公式的值,并输出 sum 的值。

sum=1- + - +…………- + - +


main()
{
float sum=1.0, flag=-1.0;
int k; (2分)
for(k=2;k<=100;k+=2)
{ sum+=flag*k/(k+1);
flag=-flag;
} (5分)
printf(“The sum is : %f”,sum); (1分)
}
----------------------------
3、 编写2个自定义函数s1和s2。s1的功能是将实参传来的字符串按“选择法”从小到大排序,并存于同一字符串中 ;s2的功能是将实参传来的字符串中的数字删除,并将剩余字符存于同一字符串中。在主函数中输入原始字符串,然后分别调用s1和s2对字符串进行处理,并输出最终处理后的字符串。

#include
void s1(char ch1[])
{
int len,m,n,j,t;
len=strlen(ch1); (2分)
for(m=0;m{ j=m;
for(n=m+1;nif(ch1[j]>ch1[n]) j=n;
if (j!=m)

{t=ch1[m];ch1[m]=ch1[j];ch1[j]=t;}
} (4分)
}
void s2(char ch2[])
{
int j=0,k=0; (1分)
while(ch2[j])
{
if(!(ch2[j]>=48 && ch2[j]<=57))
{ ch2[k]=ch2[j];k++;}
j++;
} (4分)
ch2[k]=’\0’; (1分)
}
main()
{
char ch[100];
printf(“\n Please input a string :”);
gets(ch); (1分)
s1(ch) ; s2(ch) ; (1分)
printf(“\n This is the last string:”);
puts(ch); (1分)
}

----------------------------

1、 用户输入字符c的值 ,按下表对应关系输出a的值。

输入的c值 输出的a值
$ 8.26
& 13.48
% 1.10
# 0.075
其他字符 0


main()
{
char c ;
float a ;
printf(“\n Please input a char:”);
scanf(“%c”,&c); (2分)
switch(c)
{
case ‘$’: a=8.26 ; break ;
case ‘&’: a=13.48; break ;
case ‘%’: a=1.10 ; break ;
case ‘#’: a=0.075 ; break ;
default : a=0.0 ; break ;
} (5分)
printf(“\n This is result: %f”,a); (1分)
}

-----------------------
2、 利用循环语句计算下列公式的值,并输出 count 的值。

count= + + +…………+ + +

main()
{
float count=0;
int k ; (2分)
for(k=2;k<=200;k+=2)
count+=(float)(k-1)/k ; (5分)
printf(“The count is : %f”,count); (1分)
}
--------------------------

3、 编写1个自定义函数my_fun()。my_fun()的功能是将实参传来的一维整形数组(含n个元素)按“冒泡法”从小到大排序,并计算数组所有元素之和,然后将累加和通过 return 语句返回给主函数。在主函数中先提示用户输入数组长度n的值,然后再输入n个元素的值,再调用my_fun()函数进行排序处理,并输出最终排序后的数组和数组各个元素的累加和。

int my_fun(int b[],int n)
{
int i,j, t,sum=0; (1分)
for(i=0;ifor(j=0;jif(b[j]>b[j+1])
{t=b[j];b[j]=b[j+1];b[j+1]=t;} (5分)
for(j=0;jsum+=b[j] ;
return (sum) ; (3分)
}
main()
{
int a[100],n,k,sum;
printf(“\n Please input the length of the array :”);
scanf(“%d”,&n); (1分)
printf(“\n Please input the numbers of the array :”);
for(k=0 ; kscanf(“%d”,&a[k]); (2分)
sum=my_fun(a,n); (1分)
printf(“\n The sorted array is: \n”);
for(k=0 ; kprintf(“%d ”,a[k]);
printf(“\n The sum of the array is: %d \n”,sum);(2分)
}
------------------------

1、用户输入一个不超过4位的正整数,求出它是几位数并输出。

main()
{
int a,len ;
printf(“\n Please input a number:”);
scanf(“%d”,&a); (2分)
if(a/1000) len=4 ;
else if(a/100) len=3 ;
else if(a/10) len=2 ;
else len=1 ; (5分)
printf(“\n The length of the nember is %d”,len) ; (1分)
}
---------------------

2、利用循环语句将100到500之间9的倍数

输出,要求是每行5列
每列8个字符宽。

main()
{
int k ,j=0 ;
printf(“\n”) ;
for(k=100;k<=500;k++) (2分)
{
if(k%9 !=0) continue ;
printf(“%8d”,k) ; j++ ; (5分)
if (j%5= = 0) printf(“\n”) ; (1分)
}
}

-----------------------
3、 写1个自定义函数sub。sub的功能是将实参传来的字符串中的5种字符 *#$%& 保留(即删除其他字符),并存于同一字符串中,然后计算5种字符的总个数,再通过 return 语句将总个数返回给主函数。在主函数中输入原始字符串,调用sub()函数进行处理,并输出最终处理后的字符串和5种字符的总个数。

int sub(char b[])
{
int j=0,k=0; (2分)
while(b[j])
{ if(b[j]= =’*’|| b[j]= =’#’|| b[j]= =’$’||
b[j]= =’%’|| b[j]= =’&’)
{
b[k]=b[j] ;
k++ ;
}
j++ ;
}
b[k]=’\0’; (6分)
return (k) ; (1分)
}
main()
{
int a[100],len;
printf(“\n Please input a string :”);
gets(a); (1分)
len=sub(a) ; (2分)
printf(“\n The lase string is: \n”);
puts(a) ; (2分)
printf(“\nThe length of the string is: %d”,len);(1分)
}

---------------------------
1、根据下表的对应关系,使用if 语句或switch语句完成显示汇率程序设计。

输入字符 输出数据
u 826.72
e 1182.30
j 15.13
h 109.65
其他字符 0

main()
{
char ch1;
float z;
printf(“\n Please input a char:”);
scanf(“%c”,&ch1); (2分)
switch(ch1)
{
case ‘u’: z=826.72;break;
case ‘e’: z=1182.30;break;
case ‘j’: z=15.13;break;
case ‘h’: z=109.65;break;
default : z=0.0;
} (6分)
printf(“\n This is result: %f”,z); (2分)
}

-------------------------
2、利用循环语句计算下列公式的值,并输出 sum 的值。

sum=11+13+15+……+197+199

main()
{
int sum=0,i; (2分)
for(i=11;i<=199;i+=2)
sum+=i; (5分)
printf(“The sum is : %d”,sum); (1分)
}
------------------------
3、.编写1个自定义函数sub。sub的功能是将实参传来的字符串进行换位处理。规则是第1、第2个字符位置互换,第3、第4个字符位置互换,依次类推,第n-1、第n个字符位置互换(若字符串字符个数为奇数,则最后一个字符位置不动)。如用户分别输入”abcdef”和”12345”,则输出”badcfe”和”21435”。在主函数中输入原始字符串,然后调用sub函数对字符串进行

#include
void sub(char ch1[])
{
int len,m;
char t;
len=strlen(ch1);
if(len%2) len--; (4分)
for(m=0;m{
t=ch1[m];
ch1[m]=ch1[m+1];
ch1[m+1]=t;
} (6分)
}
main()
{
char ch[100];
printf(“\n Please input a string :”);
gets(ch); (2分)
sub(ch) ; (2分)
printf(“\n This is the last string:”);
puts(ch); (1分)

}

----------------------

1、 1、根据下表的对应关系,使用if 语句或switch语句完成等级评定程序设计。







输入数据 输出等级
300 A
200 ∽ 299 B
100 ∽ 199 C
0 ∽ 99 D


main()
{
int a;
char grade;
printf(“\n Please input a integer:”);
scanf(“%d”,&a); (2分)
switch(a/100)
{
case 3: grade=’A’;break;
case 2: grade=’B’;break;
case 1: grade=’C’;break;
case 0: grade=’D’;break;
} (6分)
printf(“\n This is result: %c”,grade); (2分)
} 20

-----------------------
2、利用循环语句计算并输出 ∑ n! 的值。(即求1!+2!+3!+……+19!+20!)
n=1


main()
{
float sum=0.0,mul=1.0;
int i; (2分)
for(i=1;i<=20;i++)
{
mul*=i;
sum+=mul;
} (5分)
printf(“The sum is : %f”,sum); (1分)
}
-----------------------
3、编写1个自定义函数fun。fun的功能是将实参传来的字符串进行循环移位处理。规则是第2个字符移至第1个字符处,第3个字符移至第2个字符处,依次类推,第n个字符移至第n-1个字符处,最后第1个字符移至第n个字符处。如用户分别输入”abcdef”和”12345”,则输出”bcdefa”和”23451”。在主函数中输入原始字符串,然后调用fun函数对字符串进行处理,并输出最终处理后的字符串。
(注:可以使用计算字符串长度函数strlen(数组名),包含于头文件 string.h 中)


#include
void fun(char ch1[])
{
int len,m;
char t;
len=strlen(ch1);
t=ch1[0];
for(m=0;m}
main()
{
char ch[100];
printf(“\n Please input a string :”);
gets(ch); (2分)
fun(ch) ; (2分)
printf(“\n This is the last string:”);
puts(ch); (1分)
}
-----------------------

1、 输入一个字符,若为小写英文字母,则将其转换为对应大写英文字母输出。若为其他字符,原样输出。

#include
void main()
{
char c; 2分
c=getchar(); 2分
if(c>=’a’ && c<=’z’)
putchar(c-32);
else
putchar(c); 6分
}
-----------------------
2、 利用循环语句,计算下列数列前20项之和并输出。

#include
void main()
{
int i;
float a=2.0,b=1.0,sum=0.0,t; 2分
for(i=0;i<20;i++)
{
sum+=a/b;
t=a;
a+=b;
b=t; 6分
}
printf(“sum=%f”,sum); 2分
}
------------------------
1、 输入一个的正整数,若为9的倍数,则输出 Yes,否则输出 No。

#include
void main()
{
int a; 2分
scanf(“%d”,&a); 2分
if ( a%9 )
printf(“No”);
else
printf(“Yes”); 6分
}
---------------------
2、 利用循环语句,计算n! 的值并输出结果,n由用户输入。


#include
void main()
{
long n,i,fac=1;

2分
scanf(“%ld”,&n);
for(i=2;i<=n;i++)
fac*=i; 6分
printf(“阶乘=%ld”,fac); 2分
}
---------------------------



相关文档
相关文档 最新文档