1、求1 + 1/2! +....+ 1/n! #include "stdio.h" int main( ) { int ri,repeat; int i,n,j; float s,t; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&n); s=0; for(i=1;i<=n;i++){ t=1; for(j=1;j<=i;j++) t=t*j; s=s+1.0/t; } printf("%0.4f\n",s); }
2、} #include "stdio.h" int main( ) { int ri,repeat; int i,n; double s; double fact(int n); scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&n); s=0; for(i=1;i<=n;i++) s=s+1/fact(i); printf("%0.4f\n",s); } return 0; } double fact(int n)
3、 { int i; double result; result=1; for(i=1;i<=n;i++) result=result*i; return result; } 统计一个整数中数字的个数 #include "stdio.h" int main( ) { int ri,repeat; int count; long in; int countdigit(long number, int digit); scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++)
4、{ scanf("%ld",&in); count=countdigit(in,2); printf("count=%d\n",count); } } int countdigit(long number, int digit) { int i,count=0,t; if(number<0) number=-number; for(i=1; ;i++){ t=number%10; if(t==digit)count++; number=number/10; if(number==0)
5、 break; } return count; #include "stdio.h" #include "math.h" int main( ) { int ri,repeat; int count, digit, i, j, k, m, n, sum; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d%d", &m, &n); count=0; sum=0; digit=0; for(i=m;i>=m&&i<=n;i++) { for(j=2;
6、j<=n/2;j++) if(i%j==0) break; if(j>i/2&&i!=1) {count++; sum=sum+i;} } printf("count=%d,sum=%d\n", count, sum); } } } 统计素数并求和 #include "stdio.h" #include "math.h" int main( ) { int ri,repeat; int count, i, m, n, sum; int prime(int m); scanf("%d",&re
7、peat); for(ri=1;ri<=repeat;ri++){ scanf("%d%d", &m, &n); sum=0;count=0; for(i=m;i<=n;i++){ if(prime(i)==1){ count++; sum=sum+i; } } printf("count=%d, sum=%d\n", count, sum); } } int prime(int m) { int i; if(m==1)return 0; if(m>1){ for(i=2;i<=m/2;
8、i++){ if(m%i==0){ return 0; } } if(i>m/2) return 1; } } 求完数 #include "stdio.h" int main( ) { int ri,repeat; int i, m, n; long factorsum(int number); scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d%d", &m, &n); for(i=m;i<=n;i++
9、){
if(i==factorsum(i))
printf("%d ", i);
}
printf("\n");
}
}
long factorsum(int number)
{
int i,sum=0;
if(number==1) return 1;
for(i=1;i 10、<=8;i++){
X=x1+x2;
Printf(“%6d”,x);
X1=x2;
X2=x;
输出 Fibonacci 序列
#include "stdio.h"
#include "math.h"
int main( )
{
int ri,repeat;
int i, m, n;
long f;
long fib(int n);
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d% 11、d", &m, &n);
for(i=1; ;i++){
f=fib(i);
if(f>=m&&f<=n) printf("%ld ", f);
if(f>n) break;
}
printf("\n");
}
return 0;
}
long fib(int n)
{
int i,a=1,b=1,t;
if(n==1) return 1;
if(n==2) return 1;
for(i=3;i<=n;i++){
t=a+b;
a=b;
b=t;
}
return t; 12、
}
求各位数字的立方和等于它自身的数
#include "stdio.h"
int main( )
{
int ri,repeat;
int i, m, n;
int is(int number);
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d%d", &m, &n);
for(i=m;i<=n;i++){
if(i==is(i))
printf("%d ", i);
}
printf("\n");
}
return 0;
13、
}
int is(int number)
{
int t,sum=0;
do{
t=number%10;
sum=sum+t*t*t;
number=number/10;
}while(number!=0);
return sum;
}
将一个整数逆序输出
#include 14、1; ri<=repeat; ri++){
scanf("%ld", &in);
if(in<0){
in=-in;
k=1;
}
else k=0;
res=reverse(in);
if(k==1)
res=-res;
printf("%ld\n", res);
}
}
long reverse(long number)
{
int a,b;
b=0;
while(number!=0){
a=number%10;
b=b*10+a;
number=number/ 15、10;
}
return b;
}
循环移动(调试示例error08_1)
#include 16、 0; i < n; i++)
printf("%d ", a[i]);
printf("\n");
}
void mov(int *x,int n,int m)
{
int i,j,k;
for(i=0;i 17、t repeat, ri;
int a[10];
int search(int list[], int n, int x);
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
scanf("%d", &x);
res=search(a,n,x);
if(res != -1)
18、
printf("index = %d\n", res);
else
printf("Not found\n");
}
}
int search(int list[],int n,int x)
{
int i,res;
res=-1;
for(i=0;i 19、void)
{
int i, n;
int repeat, ri;
int a[10];
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
sort(a,n);
printf("After sorted: ");
for(i = 0; i < n; i++)
20、 printf("%d ", a[i]);
printf("\n");
}
}
void sort(int *p,int n)
{
int k,i,index,t;
for(k=0;k 21、d main()
{
char c;
char str[80];
int repeat, ri;
void delchar(char *str, char c);
scanf("%d", &repeat);
getchar();
for(ri = 1; ri <= repeat; ri++){
gets(str);
scanf("%c", &c);
getchar();
/*---------*/
delchar(str,c);
printf( 22、"result: ");
puts(str);
}
}
/*---------*/
void delchar(char *str,char c)
{
int i,j;
for(i=j=0;str[i]!='\0';i++){
if(str[i]!=c)
str[j++]=str[i];
}
str[j]='\0';
}
使用函数实现字符串复制
#include 23、
int repeat, ri;
void strmcpy(char *s,char *t, int m);
scanf("%d", &repeat);
getchar();
for(ri = 1; ri <= repeat; ri++){
gets(t);
scanf("%d", &m);
getchar();
if(strlen(t) < m)
printf("error input");
else{
/*------- 24、/
strmcpy(s,t,m);
puts(s);
}
}
}
void strmcpy(char *s,char *t,int m)
{
int i,j;
j=0;
for(i=m-1;t[i]!='\0';i++)
s[j++]=t[i];
s[j]='\0';
}
/*---------*/
判断回文字符串
#include 25、r(char *p);
scanf("%d", &repeat);
getchar();
for(ri = 1; ri <= repeat; ri++){
gets(s);
if(mirror(s) != 0)
printf("YES\n");
else
printf("NO\n");
}
}
/*---------*/
int mirror(char *p)
{
char *q;
q=p;
while(*q!='\0')
26、 q++;
p--;
while(p 27、p!='\0';p++)
if(*p>='A'&&*p<='Z')
upper++;
else if(*p>='a'&&*p<='z')
lower++;
else if(*p>='0'&&*p<='9')
digit++;
else if(*p==' ')
blank++;
else
other++;
printf("upper: %d lower: %d blank: %d digit: %d other: %d\n", upper, lower, blank, digit, other);
}
显示水果的价 28、格
#include 29、 &choice);
if(choice==0)
printf("price=0");
switch(choice){
case 1:price=3.00;break;
case 2:price=2.50;break;
case 3:price=4.10;break;
case 4:price=10.20;break;
}
printf("price=%.2f\n", price);
}
return 0;
}
求n!
#include 30、
int main(void)
{
int ri, repeat;
int i, n;
double fact;
scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
fact=1;
for(i=1;i<=n;i++)
fact=fact*i;
printf("%.0f\n", fact);
}
return 0;
}
求最大值
#include 31、
{
int ri, repeat;
int i , max, n, x;
scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%d", &n);
max=n;
for(i=1;i<=n;i++){
scanf("%d",&x);
if(max 32、o.h>
int main( )
{
int ri, repeat;
int number, sum;
long in;
scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
number=0;
sum=0;
scanf("%ld", &in);
if(in<0)
in=-in;
do{
sum=sum+in%10;
in=in/10;
number++;
}while(in!=0);
printf("number 33、d, sum=%d\n", number, sum);
}
}
求a+aa+aaa+aa…a
#include 34、 sn=sn+tn;
}
printf("%ld\n",sn);
}
}
求平均值
#include 35、r;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
sum=0;
for(i = 0; i < n; i++){
scanf("%d", &a[i]);
sum=sum+a[i];
}
aver=sum/(n*1.0);
printf("average = %.2f\n", aver);
}
}
互换最小值和最大值
#include 36、 37、)
index=i;
t=a[0];
a[0]=a[index];
a[index]=t;
for(i=0;i 38、将数组中的数逆序存储
#include 39、 temp=a[i];
a[i]=a[n-1-i];
a[n-1-i]=temp;
}
for(i = 0; i < n; i++)
printf("%d ", a[i]);
printf("\n");
}
}
选择法排序
#include 40、 scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
for(k=0;k 41、
printf("After sorted: ");
for(i = 0; i < n; i++)
printf("%d ", a[i]);
printf("\n");
}
}
调试示例error09_1.cpp
#include 42、
double zc;
} s[10];
scanf("%d", &n);
for(i=0;i 43、d)
{
int i, n;
double average, sum=0;
struct student{
int num;
char name[10];
int score;
}s[10];
scanf("%d", &n);
for(i=1;i<=n;i++){
scanf("%d%s%d",&s[i].num,s[i].name,&s[i].score);
sum=sum+s[i].score;
44、 }
average=sum/n;
printf("average: %.2f\n", average);
}
查找书籍
#include 45、i = 0; i < n; i++){
gets(book[i].name);
scanf("%lf", &x);
getchar();
book[i].price = x;
}
min_index=0;
for(i=0;i 46、r(i=0;i 47、
}
找出总分最高的学生(改错题error09_2)
#include 48、"%d",&stu[i].number);
scanf("%s",stu[i].name);
scanf("%d",&stu[i].score[0]);
scanf("%d",&stu[i].score[1]);
scanf("%d",&stu[i].score[2]);
stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
}
max_index=0;
for(i=0;i 49、if(stu[i].sum>stu[max_index].sum)max_index=i;
}
printf("总分最高的学生是: %s,%d分", stu[max_index].name, stu[max_index].sum);
}
计算两个复数之积
#include 50、ag, &y.real, &y.imag);
product.real=x.real*y.real-x.imag*y.imag;
product.imag=x.real*y.imag+y.real*x.imag;
printf("(%d+%di) * (%d+%di) = %d + %di\n", x.real, x.imag, y.real, y.imag, product.real, product.imag);
return 0;
}
#include
void main()
{
char s[80];
char *p;
int blank, digit, lower, other, upper;
gets(s);
upper = lower = blank = digit = other = 0;
/*---------*/
for(p=s;*






