C语言基础代码(2)


1.将数组A中的内容和数组B中的内容进行交换。(数组一样大)

#include <stdio.h>
 //将数组A中的内容和数组B中的内容进行交换。(数组一样大) 
  int main(){
      int arr1[] = {0,1,2,3,4};
        int arr2[] = {5,6,7,8,9};
          int len = sizeof(arr1)/sizeof(arr1[0]);
            int i = 0;
              for(;i < len;++i){
                  int tmp = arr1[i];
                   arr1[i] = arr2[i];
                   arr2[i] = tmp;     
              }
              printf("arr1 = ");
              for(i = 0;i < len;++i)
                  printf("%d ",arr1[i]);
              printf("\n");
              printf("arr2 = ");
              for(i = 0;i < len;++i)
                  printf("%d ",arr2[i]);
             printf("\n");
              return 0;                                     
  }  

2. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。

#include <stdio.h>
//计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
int main(){
    int i = 1;
    double sum = 0;
    int flag = 1;
    for(i = 1;i <= 100;i++){
        sum += flag * (1.0/i);
        flag = -flag;
    }
    printf("sum = %lf\n",sum);
}

3. 编写程序数一下 1到 100 的所有整数中出现多少次数字9。

#include <stdio.h>
//编写程序数一下 1到 100 的所有整数中出现多少次数字9。
int main(){
    int i = 1;
    int count = 0;
    for(i = 1;i <= 100;i++){
        if(i / 10 == 9)
            count++;
        if(i % 10 == 9)
            count++;
    }
    printf("count = %d\n",count);
}
4.在屏幕上输出以下图案:
*
***
*****
*******
*********
***********
*************
***********
*********
*******
*****
***

*

#include <stdio.h>
//在屏幕上输入图案
int main(){
    int line = 0;
    int i = 0;
    printf("请输入要打印的行数:");
    scanf("%d",&line);
    for(i = 0;i < line;i++){
       int j = 0;
       for(j = 0;j < line-1-i;j++)
           printf(" ");
       for(j = 0;j < 2*i+1;j++)
           printf("*");
       printf("\n");
    }
    for(i = 0;i < line-1;i++){
           int j = 0;
       for(j = 0;j <= i;j++)
           printf(" ");
       for(j = 0;j < (line-1-i)*2-1;j++)
           printf("*");
    printf("\n");
    }
    return 0;
}


5.求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
/* 在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。
例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。

*/ 

#include<stdio.h>
#include<math.h>

int main(){
        int i = 0;
        for(i = 100;i <= 999;i++){
            int a = i/100;
            int b = (i/10)%10;
            int c = i%10;
            if((a*a*a + b*b*b + c*c*c) == i)
                printf("%d ",i);
        }
        printf("\n");
        return 0;
}
6. 求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222
#include<stdio.h>

int main(){
    int a,n,i,tmp;
    int sum = 0;
    scanf("%d %d",&a,&n);
    for(i=0;i<n;i++){
        tmp = tmp*10+a;
        sum += tmp;
    }
    printf("sum = %d\n",sum);
}

7.编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。

#include<stdio.h>

int main(){
    int ch = 0;
    int count = 0;
    while((ch = getchar()) != EOF){
        if(ch == '{')
            count++;
    else if(ch == '}' && count == 0){
        printf("不匹配\n");
        return 0;
    }
    else if(ch == '}' && count > 0){
        count--;
    }
    }
    if(count == 0)
        printf("匹配\n");
    else
        printf("不匹配\n");
}

需要注意的是:文件结束符EOF,在Windows下为组合键Ctrl+Z,在Unix/Linux下为组合键Ctrl+D

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告