问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于C语言编写程序的一个疑问 高手帮忙看看我的程序哪错了

发布网友 发布时间:2022-05-26 16:57

我来回答

3个回答

热心网友 时间:2023-10-29 19:59

看了你的代码觉得,你在C语言的语法规则上还有待提高啊,在此举出你所给出的代码的若干错误。

首先,你的代码不完整。第9、11、13行要定义三个100行的二维字符数组,如果仅仅是类似char adj[100][12]={"开心的"}的定义;这样adj[1]到adj[99]这99个词都会是空值(ASCII码为0),若用printf()函数把这个范围内的某个字符数组打印,将会什么都看不到。所以,你记得要把这总共300个词补全。

其次,格式化输出的格式有错误。若定义一个字符数组,char ch[20] = "hahaha";将它以字符串的形式输出,用printf("%s",ch);而在以上代码中,%s全都写成了s%。以后不要粗心了啊。

再次,也是以刚刚我举的为例。20位的字符数组ch[20]以字符串形式输出,用到的是printf("%s",ch);注意,这里是ch而不是ch[20]。现在你知道问题出在哪里了吧。若是将二维数组adj[100][12]的第0行字符数组以字符串形式输出,那应该是printf("%s", adj[0]);注意这里是adj[0]而不是adj[0][12],如果你用adj[0][12],逻辑上来讲,不是数组访问越界嘛。

最后,尽量不要在C语言代码中夹杂中文,虽然我知道你是在做说明,那就正规点用//作注释。不要再写成char verb[100][8]={"开炮",等一百个词}; 养成良好的代码书写习惯也是学习C语言很重要的一环。

特别提醒这四个问题,祝你编程方面有所提高。另外说明一声,C语言是认汉字的,你老师说的没错。
以下附上正确代码,在VC6中编译运行通过了的。具体不知道你要什么样的300个单词,这部分就自己补全吧。

#include<stdio.h>
#include <stdlib.h>
#include <time.h>

void main(void)
{
srand( (unsigned)time( NULL ) ); //埋下时间种子

char adj[100][12]={"开心的"}; //补全剩下99个单词

char verb[100][8]={"开炮"}; //补全剩下99个单词

char noun[100][12]={"美女"}; //补全剩下99个单词

char pron[12][12]={"妈妈","爸爸","姐姐","杰杰","猫老大","小辉","黄源兄","何俊","spider","孩子他妈","考拉","*"};

int a[17],i; //定义随机结构变量数组 a 和 循环结构控制变量 i

for (i=0;i<16;i++)
{
a[i]=rand()%100;
} //给随机数组中的前16个元素赋0-99的随机值

a[16]=rand()%12; //给随机数组中的最后一个元素赋0-11的随机值

printf("%s是%s\n%s,%s,%s\n%s在%s,%s%s在%s\n%s%s和%s%s在%s\n%s是%s",noun[a[0]],adj[a[1]],noun[a[2]],noun[a[3]],noun[a[4]],pron[a[16]],verb[a[5]],adj[a[6]],noun[a[7]],verb[a[8]],adj[a[9]],adj[a[10]],adj[a[11]],noun[a[12]],verb[a[13]],noun[a[14]],adj[15]); //输出结果

}

同楼上回答。。。虽然在我的机器上没啥问题。

热心网友 时间:2023-10-29 19:59

C语言的变量定义必须在函数的最开头。 你把 srand那句挪到所有的变量定义后面去就行了

热心网友 时间:2023-10-29 20:00

#include<stdio.h>
#include <stdlib.h>
#include <time.h>

void main(void)
{
srand( (unsigned)time( NULL ) ); //埋下时间种子

char adj[100]={"开心的.。。。",等一百个词};

char verb[100]={"开炮",等一百个词};

char noun[100]={"美女",等一百个词};

char pron[12]={"妈妈","爸爸","姐姐","杰杰","猫老大","小辉","黄源兄","何俊","spider","孩子他妈","考拉","*"};

int a[17],i; //定义随机结构变量数组 a 和 循环结构控制变量 i

for (i=0;i<16;i++)
{a[i]=rand()%100;} //给随机数组中的前16个元素赋0-99的随机值

a[16]=rand()%12; //给随机数组中的最后一个元素赋0-11的随机值

printf("s%是s%\ns%,s%,s%\ns%在s%,s%s%在s%\ns%s%和s%s%在s%\ns%是s%",noun[a[0]],adj[a[1]],noun[a[2]],noun[a[3]],noun[a[4]],pron[a[16]],verb[a[5]],adj[a[6]],noun[a[7]],verb[a[8]],adj[a[9]],adj[a[10]],adj[a[11]],noun[a[12]],verb[a[13]],noun[a[14]],adj[15]); //输出结果
}

以上这些应该可以了,主要是你定义是*数组,赋值有问题!~
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
鞋底是空心格子怎么办 鞋里有格子硌脚怎么办 买的鞋子里面是空心格子底硌脚怎么办 鞋子底是空心格子的怎样办 浅谈NY5196—2002有机茶 有机食品茶叶标准 茶叶的储藏运销:茶叶贮藏期的化学变化 东方美人茶要怎么储存?东方美人茶储存方法 乌龙茶贮运方法 有机乌龙茶是什么贮藏与运输的? 问一道C语言编程的问题,看下图 黑猫编程——C语言和C++语言简介 在C语言编程中,猫和老鼠游戏中,如何使总分加上? 眼睛疼的睁不开怎么办? 老婆购房在喀什能提取老公住房公积金吗? 狗的正常体温 你好!我是喀什地区的,我想用住房公积金买房子,房改办要一张工资副 我在工作单位在喀什,户口是乌鲁木齐的,想在乌市购房,能否使用公积贷款? 喀什有没有公积金贷款买车的 头疼眼睛睁不开是怎么回事 在西安买房可以用喀什住房公积金贷款吗? 有哪些好的? 喀什公积金可以异地买房吗 喀什地区地区公积金贷款流程是怎样的? 名称有哪些? 克州的住房公积金到喀什买房可以贷多少钱 梵高十大名画(图片及介绍) 最搞笑的是哪个 梵高的星空表达了什么梵高的星空有什么意思 怎样取一个好的? 请教C语言编程高手帮助:猫捉老鼠问题 C语言程序设计(宠物结账管理程序)(只是简单的表面程序),希望大家帮帮忙,用简单的方法写出来。 C语言编程,动态画面 c语言编程 不知道怎么做 支付宝收藏的照片删除了怎么找回支付宝收藏的照片能找到了吗? 睡觉什么姿势最舒服 不满18周岁盗窃怎么判刑 未满十八岁偷盗会判刑吗 未满18岁犯盗窃罪会被判刑么?未满十六的时候也有盗窃前科,会一起量刑吗... 什么姿势在课桌上睡最舒服 未满十八周岁在别人领导下在外面初次偷盗判多久? 是倩女幽魂还是情女幽魂 未满18岁犯盗窃罪会被判刑么?求解答,急。 未满十八岁偷东西 价值498元 会受到什么处罚? 在教室里睡觉 什么样的姿势最舒服?大神们帮帮忙 课堂上睡觉 什么姿势最舒服 倩女幽魂和倩女幽魂2是一个游戏吗? 未满十八岁的孩子犯盗窃罪怎么判 倩女幽魂和倩女幽魂二有什么区别?是一个游戏么? 倩女幽魂和倩女幽魂2有什么区别?(倩女幽魂2还没出)