一、c语言,麻烦大侠看个程序,运行结果不对
结果不对,那个数组a[100]没有初始化,内部的值不确定,判断的时候却判断整个数组。最后的那个循环体内的if少了大括号,k=i就行,没必要加1。
#include<stdio.h>
void main()
{
char c,str[100];
int i,num1=0,num2=0,word=0,a[100]={0},max,k;
printf("Put in your sentence\n");
gets(str);
for(i=0;(c=str[i])!='\0';i++)
{
if(c==' ')
{
word=0;
num2=0;
}
else if(word==0)
{
word=1;num1++;
}
if(word==1)
{
num2++;
a[num1]=num2;
}
}
printf("There are %d words in the line.\n",num1);
max=a[0];
for(i=0;i<100;i++)
{
if (a[i]>=max) {
max=a[i];
k=i; }
}
printf("The longest word is the %d one.",k);
getch();
}
二、MATLAB中num2hex什么意思、
意思是这样的,我给你解释解释。
num是number的缩写,就是数字的意思;
to是two的谐音,为了方便写two,matlab里面写为阿拉伯数字2.
hex是十六进制的写法。
所以,整个语句的意思就是:
把一个数字转化为一个十六进制数。
用法为:num2hex(n)
例如:
num2hex(12)
ans =
4028000000000000
类似的用法还有很多。就是在matlab里面,比如把数值转化为字符串,可以写为:num2str
,把十六进制转化为数值,可以写为:hex2num 等等。。。还有二进制,8进制等等的转换都是一样的写法。
嘻嘻。祝您学习愉快!!