求fortran中如何把小写字母转换为大写字母的编程?

作者&投稿:游莘 (若有异议请与网页底部的电邮联系)
用fortran95怎样将小写字母的转变为大写字母~

PROGRAM excercise5
implicit none
character(len=40)::string,string2
integer::num1,num,i
string="aadsfew DEFSD SDFsdfwe "
num1=len_trim(string)
do i=1,num1
num=iachar(string(i:i))
if(num>96.and.num<123) then
string2(i:i)=achar(iachar(string(i:i))-32)
else
string2(i:i)=string(i:i)
endif
enddo
print*, string2
END

这个是一个很有趣的问题,也是常常加密中会采取的一个思路 。
方法如下:假如是要把abcd变成ABCD
program 1
implicit none
integer i
integer strlen
integer,parameter::key=4
character(len=20)::string
write(*,*)"string:"
read(*,*)string
strlen=len_trim(string)
do i=1,strlen
string(i:i)=char(ichar(string(i:i))+key) !因为小写字母的ascii码要比大写的小4 所 以key=4
write(*,"('string:',a20)")string
end do
stop
end

此子程序是一 .f 文件,可以将一个字符串中的小写字母转换为大写字母。FORTRAN中并没有直接转换字母大小写的内部函数,必须使用内码转换,即先把字母的ACSII码读出,然后减去32,再转换为字母,就达到目的了
c
c
c ###############################################################
c ## ##
c ## subroutine upcase -- convert string to all upper case ##
c ## ##
c ###############################################################
c
c
c "upcase" converts a text string to all upper case letters
c
c
subroutine upcase (string)
implicit none
integer i,size,len
integer code,ichar
character*1 char
character*1 letter
character*(*) string
c
c
c convert lower case to upper case one letter at a time
c
size = len(string)
do i = 1, size
letter = string(i:i)
code = ichar(letter)
if (letter.ge.'a' .and. letter.le.'z')
& string(i:i) = char(code-32)
end do
return
end


请问在fortran中如何生成(0~1)之间的随机数?
最好是生成一个数组L(1:1000),其中随机50个元素为1,其它都为0,可以告诉我程序么?谢谢 解析:SEED Run-Time Subroutine: Changes the starting point of the pseudorandom number generator.Module: USE DFLIB Syntax CALL SEED (iseed)iseed (Input) INTEGER(4). Starting point for RANDOM.SEED...

fortran 中如何打开一个含有变量的文件名
tx是个变量,那么你把文件名拆成三部分,前后两个字符串常量,把三者赋给一个字符串变量,假如filename,那么打开语句为:open(100,file=filename)

fortran中如何开平方
可以用fortran自带的内部函数“sqrt()”

fortran中如何对有效位数做限定
采用F格式输出可以限定小数位数,采用E格式输出可以限定有效数字个数。但不是四舍五入,而是直接去掉尾数。计算过程无法限定有效位数。当然,你可以写一段专门的代码来限制,很麻烦,也没有必要,同时还影响计算效率。

fortran中如何在调用一个子另行程序时频繁调用另外几个程序中的一个
额外设置一个整型变量比如叫subopt,在A中判断情况以后按照需要给subopt赋值1、2、3、4,调用B的时候把这个参数传给B 然后在子程序B中加一点内容,就是根据接收到的subopt的值来决定调用c、d、e、f这些子程序中的哪一个。

fortran中如何表达求导,如变量log(X)对时间t求导? 其中,X是随时间变 ...
+ Δx )- y(x))\/Δx 如此,一般在fortran中表示求导的表达式用这样的程序语句实现:y=lnx x=x(t)Δx=0.001 根据你自己的需要选择精度。Y’=1\/x*(x(t+Δt)-x(t))\/Δt 如此即求导结果,这里我根据你提供的信息写的,如有不对你可以根据前面的总的求导思想来写你的函数求导语句。

在fortran中如何给100下定义
100 可以是 整型常数。例如 K=J+100。100 可以是 标号。 例如:GO TO 100 转向语句,转向到 标号 100 的语句 do 100 i = 1, n 循环语句,执行到 标号 100 的语句 100 CONTINUE 是 标号 100 的语句 如果出现在注解行里,则是注解。

fortran程序如何将两个数组中的元素,放入一个数组?
这个简单!方法1:执行两个循环将两个给定数组逐个赋值到合并的数组中。方法2:利用公用块,即将两个给定的数组和合并后的数组定义到同名的公用块中即可。

fortran中如何表达求导,如变量log(X)对时间t求导? 其中,X是随时间变 ...
)\/Δx 如此,一般在fortran中表示求导的表达式用这样的程序语句实现:y=lnx x=x(t)Δx=0.001 根据你自己的需要选择精度。Y’=1\/x*(x(t+Δt)-x(t))\/Δt 如此即求导结果,这里我根据你提供的信息写的,如有不对你可以根据前面的总的求导思想来写你的函数求导语句。参考资料:fortran77 ...

fortran中如何随机输入字符串并统计
include<stdio.h> #include<string.h> void main() { char s[100]; int i; static int num[10]; scanf("%s",s); for(i=0;i<strlen(s);i++) if(s[i]>='0'&&s[i]<='9') num[s[i]-'0']++; for(i=0;i<=9;i++) printf("%d出现的次数为:%d\\n",i,num[i]); ...

武冈市17596757260: FORTRAN大小写字母如何转换 -
卢狠葛根: 此子程序是一 .f 文件,可以将一个字符串中的小写字母转换为大写字母.fortran中并没有直接转换字母大小写的内部函数,必须使用内码转换,即先把字母的acsii码读出,然后减去32,再转换为字母,就达到目的了 c c c ###################...

武冈市17596757260: 用fortran95怎样将小写字母的转变为大写字母 -
卢狠葛根: PROGRAM excercise5 implicit none character(len=40)::string,string2 integer::num1,num,i string="aadsfew DEFSD SDFsdfwe " num1=len_trim(string) do i=1,num1 num=iachar(string(i:i)) if(num>96.and.num<123) then string2(i:i)=achar(iachar(string(i:i))-32) else string2(i:i)=string(i:i) endif enddo print*, string2 END

武冈市17596757260: 输入一个小写字母d,将其转换为大写字输出,怎样用fortran95语言编写程序 -
卢狠葛根: program main implicit none character*20 str integer i print*,'input the string:' read*,str do i=1,len_trim(str) if(str(i:i)>='a'.and.str(i:i)<='z') str(i:i)=char(ichar(str(i:i))-32) end do print*,'the inverted string:' print*,str end

武冈市17596757260: FORTRAN大小写字母如何转换 -
卢狠葛根: CHARACTER C! 此处略去字符型变量C的值的获得方式! 小写转换成大写IF (C.GE.'a'.AND.C.LE.'z') C = CHAR(ICHAR(C) - ICHAR('a') + ICHAR('A'))! 大写转小写思路一样,从略

武冈市17596757260: 用for把从键盘输入的字符中所有的小写字母转换成大写字母,其他字符不变原样输出.以换行符作为字符输入结束
卢狠葛根: 去查下ASCII,找出大写和小写的差值,然后在你定义的字符后边加上就可以了. 你把那个for循环中的i<10改成i<你输入的字符串的长度.

武冈市17596757260: 请编写完整的程序实现将某字符串中所有的小写字母转换成大写字母.要求所编写程序 -
卢狠葛根: void main(){ char str[80],*s=str; gets(str); while(*s!='\0'){ if (*s<='z' && *s>='a') *s-=32; s++; } puts(str); }

武冈市17596757260: Fortran分别在两行输出所有的大小写字母 -
卢狠葛根: 小写字母包括a到z,一共26个英文字母. 区分字符串中的字符属于特殊符号,或者是小写字母和大写字母,其本质是每个字符在Unicode编码中对应一个数字.a对应数字编码为97,z对应数字的编码为122. 判断一个字符char1为小写字母的条件为'a'

武冈市17596757260: 请各位高手用Fortran 帮我编写一道题目 题目:输入一个字母,显示它是大写还是小写字母. 感激不尽. -
卢狠葛根: IMPLICT NONE CHARACTER ::C WRITE(*,*) '请输入一个字符' READ(*,'(A1)') C IF ( C.GE.'A' .AND. C.LE.'Z') THNE WRITE(*,*) '输入的字母', C, '是大写字母' ELSEIF ( C.GE.'a' .AND. C.LE.'z') THNE WRITE(*,*) '输入的字母', C, '是小写字母' ENDIF END

武冈市17596757260: for做把从键盘输入的字符中所有的小写字母转换成大写字母,其他字符不变原样输出.以换行符作为字符输入结束 -
卢狠葛根: #include<stdio.h> int main() {char string[100];gets(string);for(char *c=string,*c!='\0';++c){if((*c)>='a' && (*c)<='z'){*c = *c -32;}}printf("%s",string); }

武冈市17596757260: C语言从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存输入 -
卢狠葛根: #include "stdio.h" void main() { char s[100]; int i; printf("输入字符串:"); gets(s); for(i=0;s[i];i++) if(s[i]>='a'&&s[i]<='z')s[i]+=32; else if(s[i]>='a'&&s[i]<='z')s[i]-=32; puts(s); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网