今日新学
一,如何表达一个变量字符串等于一个单词
用函数strcmp(变量,“单词”)头文件要加上#include<string.h>
二,如何判断字符是否为回文字符
#include<string.h>
bool palindrome( char *s )
{ |——————————求字符串长度,头文件是#include<string.h>
int i,n=strlen(s),j=0;
for (i=0;i<n;i++)
{
if(s[i]==s[n-1-i]) ——————第一个等于最后一个
{
j++;
}
else
{
return false; ————————一旦有例外就不是回文字符,直接FALSE,break;
break;
}
}
return true;
}
三,
#include<string.h>
void strmcpy( char *t, int m, char *s )
{
int i;
t=t+m-1; ——————t是地址,地址加上m减去1得的是*t的m位
if (m>strlen(t))
*s='\0'; ————————如果m大于*t长度本身,则*s就等于‘\0’
else
{
for (i=m-1;i<strlen(t);i++)
{
*s=*(t+i); ————————此时把所得的新字符串一个一个填充到*s(s[ ])中,每次填充就是只能填充一位。
s++;
}
*s='\0'; ————————这种句子只能放这儿,如果放在前面就会导致终止符提前出现,导致程序运行错误。
}
}
四,
#include<stdio.h>
int main()
{
int i=0,n;
double sum=0,min,max,b;
scanf("%d",&n); ——————|
float a[n];——————————| 动态数组
while(i<n)
{
scanf("%f",&a[i]);
i++;
}
min=a[0],max=a[0]; ——————不能放在for循环里,因为会重置max和min的值。
for (i=0;i<n;i++)
{
sum=sum+a[i];
if (max<=a[i])
max=a[i]*1.0;
if (min>=a[i])
min=a[i]*1.0;
}
b=sum*1.0/n;
printf("average = %.2f\nmax = %.2f\nmin = %.2f\n",b,max,min);
return 0;
}
pay attention to
变量a的类型设置是浮点型,如果输入该变量时用的是%f

浙公网安备 33010602011771号