1.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出.
#include<stdio.h>
int main()
{
char ret;
while((ret=getchar())!=EOF)
{
if(ret>='0'&&ret<='9');
if(ret>='A'&&ret<='Z')
printf("%c\n",ret+32);
if(ret>='a'&&ret<='z')
printf("%c\n",ret-32);
}
system("pause");
return 0;
}
2.写程序求一元二次方程的解。
#define M 0.000001
#include<stdio.h>
#include<math.h>
int main()
{
float a=0.0, b=0.0,c=0.0;
scanf("%f %f %f",&a,&b,&c);
if(a>-M&&a<M)
{
printf("该方程不是一元二次方程\n");
}
else
{
double N;
N=pow(b,2)-4*a*c;
if(N>-M&&N<M)
{
printf("%f\n",(-b)/(2*a));
}
if(N>0)
{
printf("%f %f\n",((-b)+sqrt(N))/(2*a),((-b)-sqrt(N))/(2*a));
}
if(N<0)
{
printf("一元二次方程有两个共轭根\n");
}
}
system("pause");
return 0;
}
3.练习:编写代码,演示多个字符从两端移动,向中间汇聚。
#include<stdio.h>
#include<math.h>
int main()
{
char arr1[]={"hello world"};
char arr2[]={"###########"};
int i=0;
int j=strlen(arr1)-1;
while(i<=j)
{
arr2[i]=arr1[i];
arr2[j]=arr1[j];
printf("%s\n",arr2);
i++;
j--;
}
system("pause");
return 0;
}
4.编写代码实现,模拟用户登录情景,并且只能登录三次。
#include<stdio.h>
int main()
{
int arr1[6];
int i=0;
for(i=0; i<3; i++)
{
printf("请输入密码\n");
scanf("%s",&arr1);
if(strcmp(arr1,"123456")==0)
{
printf("登陆成功\n");
break;
}
else
{
if(i<2)
printf("密码错误,请重新输入\n");
}
}
if(i==3)
{
printf("登陆失败,退出程序\n");
}
system("pause");
return 0;
}
5.在屏幕上输出1,3,……11,13菱形图案:
方法一
#include<stdio.h>
int main()
{
int i,j,n;
printf("input\nplease input n:\n");
scanf("%d",&n);
printf("output:\n");
for(i=1; i<=n+1; i++)
{
for(j=1; j<=n+1-i; j++)
{
printf(" ");
}
for(j=1;j<=2*i-1; j++)
{
printf("*");
}
printf("\n");
}
for(i=n; i>0; i--)
{
for(j=n+1-i; j>0;j--)
{
printf(" ");
}
for(j=2*i-1; j>0; j--)
{
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}
方法二
#include<stdio.h>
int main()
{
char arr1[]={"*************"};
char arr2[]={" "};
char arr3[]={" "};
int i=strlen(arr1)/2;
int j=strlen(arr2)/2;
while(i>=0)
{
arr2[i]=arr1[i];
arr2[j]=arr1[j];
printf("%s\n",arr2);
i--;
j++;
}
i=0;
j=12;
while(i<=j)
{
arr1[i]=arr3[i];
arr1[j]=arr3[j];
printf("%s\n",arr1);
i++;
j--;
}
system("pause");
return 0;
}
6.求出0~999之间的所有“水仙花数”并输出
#include<stdio.h>
#include<math.h>
int main()
{
int i=0;
int j=0;
int n=0;
int sum=0;
for(i=100; i<=999; i++)
{
n=i;
for(j=0; j<3; j++)
{
sum+=pow(n%10,3);
n=n/10;
}
if(sum==i)
{
printf("%d ",i);
}
sum=0;
}
system("pause");
return 0;
}
7.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字
#include<stdio.h>
#include<math.h>
int main()
{
int a;
int i=0;
int m=0;
int sum=0;
scanf("%d",&a);
for(i=0; i<5; i++)
{
m+=a*pow(10,i);
sum+=m;
}
printf("%d\n",sum);
system("pause");
return 0;
}