如无必要,勿增实体
1.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。
#include<stdio.h>
int main(int argc, char const *argv[])
{
int a=0,n=1,p=0,i,sum=0;
printf("Enter");
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++){
p=a+p*10;
sum+=p;
}
printf("\ntotal=%d\n",sum);
return 0;
}
2 .递归方法实现字符串倒着打印
#include<stdio.h>
int fun(int a);
int main(int argc, char const *argv[])
{
printf("Please enter five words:\n");
fun(5);
return 0;
}
int fun(int a){
char word;
if(a<=1){
word=getchar();
printf("print as following:\n");
putchar(word);
}
else{
word=getchar();
fun(--a);
putchar(word);
}
return 0;
}
3.判断10位以内回文数
#include<stdio.h>
int main(int argc, char const *argv[])
{
long long int num,num2;
int array[10];
printf("Enter your number within 10 bits:");
scanf("%llu",&num);
num2 =num;
int i=0;
while(num2>0){
array[i++]=num2 %10;
num2 /=10;
}
printf("Your bits=%d",i);//i = bits
int flag =0,j;
for(j=0;j<=i/2;j++){
if(array[j]!=array[i-j-1])//because of i++
flag=1;
break;
}
if(flag==1)
printf("\nNo\n");
else
printf("\nYes!\n");
return 0;
}
4.题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
#include<stdio.h>
int main(){
int array[11]={1,4,6,9,13,16,19,28,40,100};
int i,t1,t2,a;
printf("Enter your number:\n");
scanf("%d",&a);
if(a>=array[9])
array[10]=a;
else
{
for(i=0;i<9;i++){
if(a<=array[i]){
t1=array[i];
array[i]=a;
do{
t2=array[++i];
array[i]=t1;
t1=t2;
}while(i<10);
}
}
}
for(i=0;i<11;i++){
printf("%4d",array[i]);
}
return 0;
}
结果:
2018年1月28日夜 大雪刚过