1. 如何用C语言for循环控制输出字母组成的等腰三角形,如:输入D,输出: A ABA ABCBA ABCDCBA
#include #include int main() { char max = '\0'; int i = 0, j = 0, m = 0; puts("请输入A~Z"); scanf("%c", &max); if (max >= 'A' && max = 0; j--) { printf("%c", 'A' + j); } printf("\n"); } puts("-------------------------------------------"); for (i = 0; i <= m; i++) { for (j = 0; j <= m + i; j++) { if (j < m - i) { printf(" "); } else { printf("%c", (char)(max - fabs(m - j))); } } printf("\n"); } puts("-------------------------------------------"); } else { puts("输入内容有误"); } return 0;}纯数学计算而已
-------------------------
哦,我这写的是你正文中的,标题那个等我写给你
2. 编写程序输出下列图形 A ABA ABCBA ABCDCBA ABCDEDCBA 希望有详细的解释 谢谢 (用vf)
clear
for i=1 to 5
?space(5-i)
r=i
for j=1 to 2*i-1
k=j
if k>i
r=r-1
??chr(64+r)
else
??chr(64+k)
endif
endfor
endfor
3. c语言编程题,要求输入一个大写字母,例如输入的是E,则输出: A ABA ABCBA ABCDCBA ABCDEDCBA
#include //本道题可以进行连续输出
int main()
{
char c;
int n;
int i,j;
int q;
int p;
while(scanf("%c",&c)==1)
{
n=c-'A'+1;
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
printf(" "); //输出空格
q=0;
for(j;j<=n;j++,q++) //输出前半部分字母
printf("%c",q+'A');
for(p=i-1;p>=0;p--)//输出后半部分字母
printf("%c",p+'A');
printf("\n"); //换行
}
}
return 0;
}
4. C++ 输出图形 A ABA ABCBA ABCDCBA ABCDEDCBA 这图形用C++怎么输出。 用循环。。 求教 高手 告诉一下
用c语言写的
int main(void)
{
int h=0;
int i=0,j=0;
char c='A';
printf("请输入高度:");
scanf("%d",&h);
for (i=0;i<h;i++)
{
printf("%*s",h-i-1,"");//打空格
for (j=0;j<=i;j++)//打前一半字母
{
printf("%c",c+j);
}
while (--j>=1)//打后一半字母
{
printf("%c",c+j-1);
}
printf("\n");//换行
}
return 0;
}
5. 那位牛人,用C语言写一个二进制转化为十进制的程序!!??
一下两个程序均在VC在编译通过。
/*
如果这个二进制数比较大的话, 大到只能用数组储存这个二进制数,
当然如果大到转化成10进制int存不下的情况那另当别论
*/
#include
#include
int main()
{
char a[33];
int i, num = 0;
scanf("%s", a);
for(i=strlen(a)-1; i>=0; i--)
{
num*=2; /*如果用位运算的话,速度会更快*/
num+=a[i]-'0';
}
printf("%d\n", num);
return 0;
}
/*
如果这个二进制数的位数不超过10位的话
可用这个程序
*/
#include
int main()
{
int num = 0, a, j=1;
scanf("%d", &a);
while(a)
{
num += (a%10) * j;
a /= 10;
j *= 2;
}
printf("%d\n", num);
return 0;
}
6. 哪位牛人帮忙用C语言写几个程序? 1 求空间上点A(ax,ay,az)B(bx,by,bz)之间距离。
1.
#include
#include
void main()
{
double ax,ay,az,bx,by,bz;
double juli;
scanf("%lf%lf%lf%lf%lf%lf", &ax,&ay,&az,&bx,&by,&bz);
juli = sqrt( pow(ax-bx,2)+pow(ay-by)+pow(az-bz,2));
printf("%lf",juli);
}
2.
#include
void main()
{
float a, b;
float temp;
scanf("%f%f", &a, &b);
if(a>b)
{
temp = a;
a = b;
b = temp;
}
printf("%f<%f", a, b);
}
3.
void main()
{
int a, b, c;
int temp;
scanf("%d%d%d", &a,&b,&c);
if( a>b )
{
temp = a;
a=b;
b=temp;
}
if( b>c )
{
temp=b;
b=c;
c=temp;
}
if( a>b )
{
temp = a;
a=b;
b=temp;
}
printf("%d<%d<%d", a, b, c);
}
7. (c语言)给数,求它是几位数并且逆序输出,麻烦各位大神帮我看看哪里错了?谢谢各位
number=number%10;
number除以10取余,number已经变化了,因此最后得不到正确结果。
修改:
#include int main(){int count,number,number1,sum;//增加定义变量number1count=0; sum=0; scanf("%d",&number); do { number1=number%10;//将number改为number1,并将位置调整到此处number=number/10; count++; sum=sum*10+number1; //将number改为number1} while(number!=0); printf("%d\n%d",count,sum); return 0;}