void main(C,D)
{
diamond(info(void));
getch();
}
作业要求应用两次info,一次diamond,不知道这个形式对不对?
这个程序运行不了啊- -求大侠帮助。
打错了。。。
这是原编程:
#include<stdio.h>
char info(void)
{
char C;
char D;
printf("Please enter a letter (A-Z):");
scanf("%c",&C);
return C;
printf("Please enter a letter (A-Z):");
scanf("%c",&D);
return D;
}
void diamond(char C, char D)
{
printf(" %c\n",C);
printf(" %c%c%c\n",C,D,C);
printf(" %c%c%c%c%c\n",C,D,D,D,C);
printf("%c%c%c%c%c%c%c\n",C,D,D,D,D,D,C);
printf(" %c%c%c%c%c\n",C,D,D,D,C);
printf(" %c%c%c\n",C,D,C);
printf(" %c",C);
}
void main(C,D)
{
diamond((info(void));
getch();
}
刚开始学习C语言,没有接触到argc和argv...看不懂你写的...最好可以在原编程上修改一下.谢了。 windows下运行。
追答知道你意思了
头文件加上
#include
main函数改成
void main()
{
diamond(info(),info());
getch();
}
另外我想说你这个函数有多余部分
char info(void)
{
char C;
char D;
printf("Please enter a letter (A-Z):");
scanf("%c",&C);
return C;
printf("Please enter a letter (A-Z):");
scanf("%c",&D);
return D;
}
直接写成
char info(void)
{
char C;
printf("Please enter a letter (A-Z):");
scanf("%c",&C);
return C;
}
就行了,后面的部分永远运行不到的
整个程序最后改成这样::
#include
#include
char info(void)
{
char C;
printf("Please enter a letter (A-Z):");
scanf("%c",&C);
return C;
}
void diamond(char C, char D)
{
printf(" %c\n",C);
printf(" %c%c%c\n",C,D,C);
printf(" %c%c%c%c%c\n",C,D,D,D,C);
printf("%c%c%c%c%c%c%c\n",C,D,D,D,D,D,C);
printf(" %c%c%c%c%c\n",C,D,D,D,C);
printf(" %c%c%c\n",C,D,C);
printf(" %c",C);
}
void main()
{
diamond(info(),info());
getch();
}
题目要求最后的运行结果是Please enter a letter (A-Z): H
Please enter a letter (A-Z): P
Diamond shape of the letters:
H
HPH
HPPPH
HPPPPPH
HPPPH
HPH
H
这个样子,改成这样不是这个结果了啊?
哈哈,早上题目不就简单了么,等下,我再给你改改
#include
#include
char info(void)
{
char C;
printf("Please enter a letter (A-Z):");
scanf("%c",&C);
return C;
}
void diamond(char C, char D)
{
printf(" Diamond shape of the letters:\n")
printf(" %c\n",C);
printf(" %c%c%c\n",C,D,C);
printf(" %c%c%c%c%c\n",C,D,D,D,C);
printf("%c%c%c%c%c%c%c\n",C,D,D,D,D,D,C);
printf(" %c%c%c%c%c\n",C,D,D,D,C);
printf(" %c%c%c\n",C,D,C);
printf(" %c\n",C);
}
void main()
{
diamond(info(),info());
getch();
}
就是这样啊,你运行下
需要enter两个字母啊,你这样编的话只能输入一个字母啊- -
最后显示的是
Please enter a letter (A-Z):P
Please enter a letter (A-Z) :
P
PPP
PPPPP
PPP
P
这样的形式,还是不对啊- -
输入两个字母
info()不是调用了两次么
你运行,别用自己的判断去看
运行了就知道了
第一次你输入一个字母,第二次你还要再输入一个啊
刚才复制粘贴写少了。。。麻烦再看看。。。谢了
追答显然不对,你的diamond应该有两个参数,但是你的info(void)是只能返回一个参数的,肯定会报错!
其次main()函数里面的参数不能用C,D的,这个参数是有标准格式的,你看一下教材吧!
C语言不是我主专业,学校根本就不细讲...那能麻烦你修改一下么?
追答void main()
{
diamond((info(),,info());
getch();
}
也许这样吧,但是这并不能达到你的要求!
建议你给info()加上参数!