c語言練習筆記:
最近又開始復習c語言了,由于之前的學習方法不對總是看視頻,沒有認真思考程式的思想,缺乏實戰,c語言學習停滯不前,就放任了一段時間,從今天起我要在這兒記錄我的學習程序,督促自己堅持,
/*求1~N的和,輸入N先判斷N是否小于3000,小于3000則直接求和輸出結果,否則顯示輸出錯誤重新輸入N
要求用兩個do while陳述句*/
/*#include<stdio.h>
int main()
{
int N,i,flag;
unsigned long int sum;
char ch;
do{
do{
flag=0;
printf("輸入N(0<N<3000):");
scanf("%d",&N);
if((N<0)||(N>3000))
flag=1;
}while(flag);
sum=0;
for(i=0;i<=N;i++)
{
sum=sum+i;
}
printf("sum=%d\n",sum);
printf("do you want again?");
scanf("%s",&ch);
}while((ch=='y')||(ch=='Y'));
printf("THANK YOU!");
return(0);
} */
/****以互動的方式計算N的階乘******/
/*#include<stdio.h>
main()
{
int i,N,flag;
unsigned long int ji;
char ch;
do{
do{
flag=0;
printf("輸入N(0<N<10):");
scanf("%d",&N);
if((N<0)||(N>10))
flag=1;
}while(flag);
ji=1;
for(i=1;i<=N;i++)
{
ji=ji*i;
}
printf("ji=%d\n",ji);
printf("do you want again?");
scanf("%s",&ch);
}while((ch=='y')||(ch=='Y'));
printf("THANK YOU!");
return(0);
}*/
/***使用for回圈計算費,以互動方式生成N個波那契數***/
/* #include<stdio.h>
main()
{
int k,N,flag;
long int A,B,C,D;
char ch;
do{
do{
flag=0;
printf("請輸入數字N(0<N≤45)\n");
scanf("%d",&N);
if((N<0)||(N>45))
flag=1;
}while(flag);
A=0;
B=1;
for(k=1;k<=N/2;k++) //程序
{
printf("%5d%5d",A,B);
C=A+B;
D=B+C;
A=C;
B=D;
}
printf("\n繼續嗎?Y/N");
scanf("%s",&ch);
printf("THANK YOU");
}while((ch=='y')||(ch=='Y'));
return (0);
}*/
/*****判斷輸入的數N是否為質數*****/
/*#include<stdio.h>
#include<math.h>
main()
{
int i,N,j,flag,flag1;
char ch;
do{
do{
flag=0;
printf("請輸入數字N(0<N≤100)\n");
scanf("%d",&N);
if(N==0) break;
if((N<0)||(N>100))
flag=1;
}while(flag);
if(N==2) printf("2是質數");
j=ceil(sqrt(N));
flag1=0;
for(i=2;i<=j;i++)
{
if(N%i==0)
{
flag1=1;break;//此處必須有break,但凡有一個余數不是0都會跳出顯示結果
}
}
if(flag1) printf("N=%d不是質數\n",N); //if判斷以flag1為條件
else printf("N=%d是質數\n",N);
}while(1);
return(0);
}*/
/****以弧度表示角度的正弦值****/
//范圍為-1<=x<=1
/*#include<stdio.h>
#include<math.h>
main()
{
int i,flag,intk;
double sine,term,x,z;
do{
flag=0;
printf("請輸入x:");
scanf("%lf",&x);
if((x<-1)||(x>1))
flag=1;
}while(flag);
term=x;
sine=x;
intk=1;
z=pow(x,2);
for(i=1;i<=10;i++) //每進入一次回圈,×x平方z
{
intk=intk + 2;
term=-term*z/(intk*(intk - 1));
sine=sine + term;
}
printf("sinx=%lf\n",sine);
return(0);
} */
/******求解二次方程*****/
/*#include<stdio.h>
#include<math.h>
main()
{
int a,b,c,d;
float x1,x2;
do{
printf("請輸入a,b,c的值:");
scanf("%d,%d,%d\n",&a,&b,&c);
d=pow(b,2)-4*a*c;
if(d>=0)
{
x1=(-b+pow(d,1/2))/(2*a);
x2=(-b-pow(d,1/2))/(2*a);
printf("%3f,%3f",x1,x2);
}
else
{
printf("方程無解!");
}
}while(1);
}*/
/*******輸出一個反數******/
/*#include<stdio.h>
main()
{
int i,j,k,x;
while(1)
{
printf("請輸入一個數:%d\n",x);
scanf("%d",&x);
j=0;
while(x)
{
i=x%10;
j=j*10+i;
x=x/10;
}
printf("%d\n",j);
}
}*/
/*******列印圖案********/
#include<stdio.h>
main()
{
int i,j;
for(i=1;i<=5;i++) //行
{
for(j=5;j>=i;j--) //列
{
printf(" ");
}
for(j=0;j<i;j++) //列
{
printf("%d",i-j);
}
printf("\n");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/195235.html
標籤:其他
上一篇:海關179號
