数组相关练习
题1:(先来看个简单题)
近似求PI
本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。
输入格式:
输入在一行中给出精度eps,可以使用以下语句来读输入:
scanf("%le", &eps);
输出格式:
在一行内,按照以下格式输出π的近似值(保留小数点后5位):
PI = 近似值
输入格式:
1E-5
输出格式:
PI = 3.14158
解答:
#include <stdio.h>
int main()
{
double eps, sum=1, i, temp=1;
scanf("%le", &eps);
for(i=1; temp>eps; i++)
{
temp = temp*i/(2*i+1);
sum += temp;
}
printf("PI = %.5f\n", 2*sum);
return 0;
}
题2:查找指定字符
本题要求编写程序,从给定字符串中查找某指定的字符。
输入格式:
输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。
输出格式:
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。
输入样例1:
m
programming
输出样例1:
index = 7
输入样例2:
a
1234
输出样例2:
Not Found
解答:
#include<stdio.h>
int main()
{
int i,index,count;
char a,ch,str[80];
scanf("%c\n",&a);
i=0;
index = -1;
count = 0;
ch = getchar();
for(i=0;ch!='\n';i++)
{
str[i] = ch;
count++;
ch = getchar();
}
for(i=0;i<count;i++)
if(a==str[i])
index=i;
if(index!=-1)
printf("index = %d",index);
else
printf("Not Found");
return 0;
}