當前位置:編程學習大全網 - 編程語言 - 簡單C語言編程

簡單C語言編程

1.輸入2個正整數m和n,求其最大公約數和最小公倍數

#include<stdio.h>

#include<math.h>

int main()

{

int m,n,p,q,s,r;

printf("請輸入兩個正整數;m,n\n");

scanf("%d,%d",&m,&n);

s=m*n;

if(m<n)

{

p=m;

m=n;

n=p;

}

printf("%d\t%d\n",m,n);/*按從大到小輸出m,n */

while(n!=0)

{

q=m%n;

m=n;

n=q;

}

/*是不是m才是最大公約數啊*/

r=s/m;

printf("m和n最大公約數為 %d\n",m);

printf("m和n最小公倍數為 %d\n",r);/*m和n的積除以m和n的最大公約數即為最小公倍數*/

return 0;

}

2.輸出100以內能被3整除且個位數為6的所有整數。

#include<stdio.h>

int main(void)

{

int i;

for(i=1;i<=100;i++)

if(i%3==0&&i%10==6)printf("%d ",i);

return 0;

}

3. 編程計算從1到10各數階乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和

#include<stdio.h>

int main(void)

{

int sum,i,term;

sum=0;

term=1;

for(i=1;i<=10;i++)

{

term=term*i;

sum=sum+term;

printf("%d的階乘 %d\n",i,term);

}

printf("1到10各數階乘的和 %d\n",sum);

return 0;

}

4.使用嵌套循環產生下列由大寫字母組成的圖

#include<stdio.h>

int main(void)

{

char ch1,ch2;

for(ch1='A';ch1<='Z';ch1++)

{

for(ch2='A';ch2<=ch1;ch2++)

printf("%c",ch2);

printf("\n");

}

return 0;

}

5. 編程輸出所有三位數中的素數。

#include<stdio.h>

int main(void)

{

int x,i;

for(x=100;x<=999;x++)

{

for(i=2;i<x/2;i++)

if(x%i==0)break;

if(i==x/2)printf("%d ",x);

}

return 0;

}

6. 定義壹個函數even(),判斷壹個整數是否是偶數。如果是偶數返回1,否則返回0。(要求包括能使程序正常運行的主函數)

#include<stdio.h>

int main(void)

{

int even(int);

int x,y;

scanf("%d",&x);

y=even(x);

if(y==1)

printf("%d 是偶數\n",x);

else

printf("%d 是奇數\n",x);

return 0;

}

int even(int x)

{

if(x%2==0)

return 1;

else

return 0;

}

7. 編寫函數mypow,求整型變量x的y次方。(要求包括能使程序正常運行的主函數)

#include<stdio.h>

int main(void)

{

int mypow(int,int);

int x,y,s;

scanf("%d%d",&x,&y);

s=mypow(x,y);

printf("%d的%d次方是 %d\n",x,y,s);

return 0;

}

int mypow(int x,int y)

{

int sum,i;

sum=1;

for(i=1;i<=y;i++)

sum=sum*x;

return sum;

}

8.輸入壹個3位整數,輸出它的逆序數。例如,輸入127,輸出應該是721。

#include<stdio.h>

int main(void)

{

int x,y;

scanf("%d",&x);

y=x/100+x/10%10*10+x%10*100;

printf("%d的逆序數 %d\n",x,y);

return 0;

}

9. 編寫壹個字符串連接函數,其功能是將兩個字符串連接起來形成壹個新的字符串,以實現庫函數strcat()的功能

#include<stdio.h>

int main(void)

{

void mystrcat(char s1[],char s2[]);

char s1[80],s2[80];

scanf("%s%s",s1,s2);

mystrcat(s1,s2);

printf("%s\n",s1);

return 0;

}

void mystrcat(char s1[],char s2[])

{

int i,j;

for(i=0;s1[i]!='\0';i++);

for(j=0;s2[j-1]!='\0';j++)s1[i+j]=s2[j];

}

10. 編寫壹個字符串復制函數,其功能是將字符數組s2中的全部字符(包括字符串結束符號'\0')拷貝到字符數組 s1 中,以實現庫函數strcpy()的功能。

#include<stdio.h>

int main(void)

{

void mystrcpy(char s1[],char s2[]);

char s1[80],s2[80];

scanf("%s",s2);

mystrcpy(s1,s2);

printf("%s\n",s1);

return 0;

}

void mystrcpy(char s1[],char s2[])

{

int i;

for(i=0;s2[i-1]!='\0';i++)

s1[i]=s2[i];

}

11.有壹字符串,包含n個字符。寫壹函數,將此字符串中從第m個字符開始的全部字符復制成為另壹個字符串

#include<stdio.h>

int main(void)

{

void mystrcpy2(char s1[],char s2[],int m,int n);

char s1[80],s2[80];

int m,n;

scanf("%d%d",&m,&n);

scanf("%s",s1);

mystrcpy2(s1,s2,m,n);

printf("s1: %s\ns2: %s\n",s1,s2);

return 0;

}

void mystrcpy2(char s1[],char s2[],int m,int n)

{

int i,j;

for(i=m-1,j=0;i<n&&s1[i]!='\0';i++)

s2[j++]=s1[i];

s2[j]='\0';

}

  • 上一篇:入冬祝福語
  • 下一篇:格力的崗位有哪些?
  • copyright 2024編程學習大全網