C语言 输出中文字符串的第一个字

以下是一段代码#include<stdio.h>#include<string.h>usingnamespacestd;intmain(){structCard{stri... 以下是一段代码
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{
struct Card
{
string subject; //课程名称
string nature; //课程性质
double credit; //学分
int point; //绩点
int score ;//成绩
int fuxiu;//辅修标记
int bukao;//补考成绩
int bukaochengji;//卷面补考成绩
int chongxiu;//重修成绩
int college;//开课学院
};
char *str1 = "信息技术导论</td><td>学科基础课";
char *str2 = "信息技术导论";
char *p;
p = strstr(str1, str2);
if (p != NULL)
{
printf("%s\n",p); // 若str1指向的字符串中有str2指向的字符串,则将p所指的字符串输出
}
else{
printf("Not Found!\n"); // 若没找到,返回信息"Not Found!"
}
return 0;
}

这里输出的结果是"信息技术导论</td><td>学科基础课",如果我想一个一个字的输出,比如"信","息",要怎么改代码?有没有什么高级点的输出控制函数?
解决的话一定追加分数,麻烦各位了!
展开
 我来答
hi_xjy
2010-09-13 · TA获得超过2468个赞
知道大有可为答主
回答量:987
采纳率:0%
帮助的人:1542万
展开全部
程序这么修改就可以一个一个字的输出,system("pause");的注释取消掉,就是按一下输出一个字符了。有问题hi我啊~
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
char *str1 = "信息技术导论</td><td>学科基础课";
char *str2 = "信息技术导论";
char *p;
p = strstr(str1, str2);
if (p != NULL) // 若str1指向的字符串中有str2指向的字符串,则将p所指的字符串输出
{
for(int i=0;p[i];)
{
if(p[i] < 0)//汉字是两个字符组成,每个字符都小于0
{
printf("%c%c",p[i],p[i+1]);
i+=2;
// system("pause");
}
else
{
printf("%c",p[i]);
i+=1;
// system("pause");
}
}
}
else
{
printf("Not Found!\n"); // 若没找到,返回信息"Not Found!"
}
return 0;
}
陈学阳
2010-09-13 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5651万
展开全部
按照字符串由长到短输出,这个不叫随即,而是简单的排序。
char* strList[1000]; //用来存储这些字符串
首先要把文件里的字符解析成单词放到strList里,一般是以空格作为分隔符。然后按照字符串的长度进行排序就可以了。最后怎么显示就看你需要了。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式